import { ApiProperty } from '@nestjs/swagger';
import { IsNumber, IsDefined, Min, Max } from 'class-validator';

export class PaginationDto {
  @ApiProperty({ required: true, description: '页码', example: 1 })
  @IsDefined({ message: 'page 是必传参数' }) // 确保 page 必传
  @IsNumber({}, { message: 'page 必须是数字' }) // 确保 page 是数字
  @Min(1, { message: 'page 必须大于等于 1' }) // 确保 page 大于等于 1
  page: number;

  @ApiProperty({ required: true, description: '每页数量', example: 10 })
  @IsDefined({ message: 'pageSize 是必传参数' }) // 确保 pageSize 必传
  @IsNumber({}, { message: 'pageSize 必须是数字' }) // 确保 pageSize 是数字
  @Min(1, { message: 'pageSize 必须大于等于 1' }) // 确保 pageSize 大于等于 1
  @Max(100, { message: 'pageSize 必须小于等于 100' }) // 确保 pageSize 小于等于 100
  pageSize: number;
} 